Computing devices often comprise a processor to execute instructions and control the operation of other components of the computing device. Further, computing devices often comprise a memory controller to transfer data and/or instructions between memory and other components of the computing device such as the processor. Accordingly, a processor of such computing devices may request the memory controller to transfer instructions from the memory to the processor for later execution by the processor. The transfer of instructions from memory to the processor requires a significant amount of time considering that the processor generally operates at a much faster rate than the memory controller and memory.
To somewhat alleviate the amount of time the processor waits for instructions to be transferred from memory to the processor, many processors comprise cache memories to keep frequently executed instructions and/or instructions expected to be executed in the near future close to the processor. While cache memories have greatly increased the effective performance of computing devices, additional techniques for managing the execution of instructions stored in the memory may further increase the performance of computing devices.